package exception;
/**
 * 请分别说明:final,finally,finalize
 * finalize:
 * finalize是一个方法，被定义在Object中，意味着所以的类都是该方法，此方法是一个
 * 对象生命周期的最后一个方法，当一个对象即将被GC释放前，GC会调用该方法，当方法
 * 执行完毕后该对象被释放。
 * 注意:
 *      若重写此方法，不能有耗时的操作，否则会影响GC的工作。
 *
 *
 */
public class FinallyDemo3 {
    public static void main(String[] args) {
        System.out.println(
                line("0")+","+line(null)+","+line("")
        );
        //?,?,?
    }
    public static final int line(String len){
        try {
            return len.charAt(0)-'0';
        } catch (NullPointerException e) {
            return 1;
        }catch (Exception e){
            return 2;
        }finally {
            return 3;
        }
    }
}
